from common.execl import execl
import random
 #  身份证验证规则：
 #  第十八位数字（校验码）的计算方法为：
 # 1.将前面的身份证号码17位数分别乘以不同的系数。从第一位到第十七位的系数分别为：7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2
 # 2.将这17位数字和系数相乘的结果相加与11进行相除。
 # 3.余数0 1 2 3 4 5 6 7 8 9 10这11个数字，其分别对应的最后一位身份证的号码为1 0 X 9 8 7 6 5 4 3 2。
 # 4.例如 余数为 0 , 则身份证最后一位就是1
 # *       余数为 2 , 则身份证最后一位就是罗马数字X
 # *       余数为 10 , 则身份证最后一位就是2


ex=execl()
data=ex.read_column('E:\ctms_api\data\身份证地区前6位.xlsx','Sheet1',1,200)
year='19'+str(random.randint(40,99))+str(random.randint(10,12))+str(random.randint(10,28))+str(random.randint(000,999))
# print(year)
identity_list=[]
for i in range(0,len(data)):
    a=str(data[i])+year
    b=int(a[0])*7+int(a[1])*9+int(a[2])*10+int(a[3])*5+int(a[4])*8+int(a[5])*4+int(a[6])*2+int(a[7])*1+int(a[8])*6+int(
        a[9])*3+int(a[10])*7+int(a[11])*9+int(a[12])*10+int(a[13])*5+int(a[14])*8+int(a[15])*4+int(a[16])*2
    yu=b%11
    identity={0:'1',1:'0',2:'X',3:'9',4:'8',5:'7',6:'6',7:'5',8:'4',9:'3',10:'2'}
    identity_list.append(a+identity[yu])
print(identity_list)
print(len(identity_list))
